/**
 * 实体查询参数类型
 */
export interface RepoCompQueryParam extends PageQuery {
    modelId?: string;
    ownerId?: string;
    groupName?: string;
    manufacturer?: string;
    deviceType?: string;
    keyword?: string;
}

/**
 * 实体分页列表项
 */
export interface RepoCompModelVersionEntity extends Entity {
    manufacturer?: string;
    deviceType?: string;
    author?: string;
    modelId?: string;
    description?: string;
    objects: RepoCompObjectEntity[];
}

/**
 * 实体分页列表项
 */
export interface RepoCompObjectEntity {
    versionId?: string;
    objectId?: string;
    manufacturer?: string;
    deviceType?: string;
    modelName?: string;
    modelParam: ModelParam;
    createTime: number;
    updateTime: number;
}

export interface ModelParam {
    engine: DeviceType;
    list: object;
}

export interface DeviceType {
    manufacturer: string;
    deviceType: string;
}

/**
 * 实体分页项类型
 */
export type RepoCompModelVersionPageResult = PageResult<RepoCompModelVersionEntity[]>;

/**
 * 创建实体请求VO
 */
export interface CreateRepoCompRequestVO {
    id?: string;
    ownerId?: string;
    groupName?: string;
    manufacturer?: string;
    deviceType?: string;
    description?: string;
    lastVersion?: RepoCompObjectEntity;
    verItem?: RepoCompObjectEntity;
}

